﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace PrimeraAFantasyFootballl.Models
{
    public class JugadorRepository : PrimeraAFantasyFootballl.Models.IJugadorRepository
    {
        private PrimeraAFantasyFotballDataContext ju = new PrimeraAFantasyFotballDataContext();

        //
        // Métodos Query

        public IQueryable<Jugador> FindAllPlayers()
        {
            return ju.Jugadors;
        }
       //Busca todos los jugadores de un mismo club
        public IQueryable<Jugador> EncontrarClub(string club)
        {
            return from jugador in FindAllPlayers()
                   where jugador.Club.Equals(club)
                   orderby jugador.Nombre
                   select jugador;
        }



        public Jugador GetJugador(int id)
        {
            return ju.Jugadors.SingleOrDefault(d => d.JugadorID == id);
        }

        //
        // Métodos Agregar/Borrar

        public void Add(Jugador jugador)
        {
            ju.Jugadors.InsertOnSubmit(jugador);
        }

        public void Delete(Jugador jugador)
        {
            ju.Estadisticas.DeleteAllOnSubmit(jugador.Estadisticas);
            ju.Jugador_en_Equipos.DeleteAllOnSubmit(jugador.Jugador_en_Equipos);
            ju.Jugadors.DeleteOnSubmit(jugador);

        }
        //
        //Persistencia
        public void Save()
        {
            ju.SubmitChanges();
        }
    }
}
